/**
 *  正则
 */

#import <Foundation/Foundation.h>

@interface NSString (Extension)

/**
 *  编码后的urlString
 */
- (NSString *)StringByURLEncoding;
/**
 *  解码后的urlString
 */
- (NSString *)StringByURLDecoding;

/**
 * 检查是否是手机号
 */
- (BOOL)isPhoneNumber;

/**
 *  是否是数字
 */
- (BOOL)isNumber;

#pragma mark - 获取当前字符串的字符数
/**
 *  得到当前字符串的字符数,1个汉字2个字符
 */
- (int)charCount;
/**
 *  得到当前字符串的字符数,1个汉字2个字符
 *  暂时不要用这个方法, 统一使用 - (int)charCount
 */
- (NSInteger)charCount1;





/**
 *  将GBK编码的二进制数据转换成字符串
 */
+ (NSString *)UTF8StringWithHZGB2312Data:(NSData *)data;

/**
 *  查找并返回第一个匹配的文本内容
 */
- (NSString *)firstMatchWithPattern:(NSString *)pattern;

/**
 *  查找多个匹配方案结果
 */
- (NSArray *)matchesWithPattern:(NSString *)pattern;

/**
 *  查找多个匹配方案结果，并根据键值数组生成对应的字典数组
 */
- (NSArray *)matchesWithPattern:(NSString *)pattern keys:(NSArray *)keys;

/**
 *  获取字符串字符数，所有字符都按照1个字符算
 */
- (NSInteger)getStringLengthWithString;


#pragma mark - emoji 表情
//+ (BOOL)stringContainsEmoji:(NSString *)string;
- (BOOL)stringContainsEmoji;

#pragma mark - Substring
/**
 *  裁剪前缀
 */
- (NSString *)substringByTrimPrefix:(NSString *)preffix;

/**
 *  裁剪后缀
 */
- (NSString *)substringByTrimSuffix:(NSString *)suffix;

/**
 *  前后同时裁减掉一个字符串
 */
- (NSString *)substringByTrim:(NSString *)trimString;


#pragma mark 裁剪空格
///**
// *  裁剪前面所有的空格
// */
//- (NSString *)substringByTrimPrefixSpacing;
//
///**
// *  裁剪后面所有的空格
// */
//- (NSString *)substringByTrimSuffixSpacing;
//
/**
 *  裁剪前后所有的空格
 */
- (NSString *)substringByTrimSpacing;

@end
